Recent Searches

You haven't searched anything yet.

2 Jobs in Berkeley, CA

SET JOB ALERT
Details...
Atomic Machines
Berkeley, CA | Full Time
$136k-163k (estimate)
2 Months Ago
Arize AI
Berkeley, CA | Full Time
$147k-173k (estimate)
8 Months Ago
Software Engineer
Atomic Machines Berkeley, CA
$136k-163k (estimate)
Full Time 2 Months Ago
Save

Atomic Machines is Hiring a Software Engineer Near Berkeley, CA

Atomic Machines is on Earth to radically advance humanity’s command over matter. Our mission is real-time bits-to-atoms manufacturing of anything at any scale, and to that end, we’re developing an entirely new digital micro-device manufacturing platform that is going to redefine how things are made, and do so while simultaneously enabling the rapid creation at any scale of new classes of machines – think medical micro-robotics, true lab-on-chip microfluidics, tunable antennas, ultrafast high-power and high-frequency RF switching devices and many more. The first device we are building with our platform has exceptional large-scale product/market fit and commercial traction, and we are pushing hard to share it with the world.Our offices are in Berkeley and Santa Clara, California.

About the Role:

We are seeking a seasoned software engineer who will architect, design, and build any and all code above the embedded level in the software stack, i.e. from the operating system up.

\n

What You’ll Do:

  • Design and build the distributed software system that controls the AMP manufacturing platform: a truly novel fabrication system for micro-devices and components. Your software will orchestrate all of the activities of the fab, from high-level workflow planning to the code that operates individual robotic nodes and automated material transport.
  • Architect and design complex systems that must scale to very large numbers (e.g. production quantities per unit time), be highly robust (meaning fault tolerant, designed to uptime requirements), high performance and both monitorable and controllable.
  • Work at multiple levels of the software stack, and must be “fluent” at all levels: operating system (including real-time OS), device drivers, and otherwise communicating with low-level code controlling hardware, network (building distributed systems with complex communication patterns), structured APIs, databases and associated architectures and algorithms.
  • Code in a variety of languages, as needed for the situation. This role will involve a prolific amount of coding - we’re not looking for an ivory-tower architect type, but a real builder.
  • Thrive within the Scrum methodology (which means we’re looking for at least excitement from the candidate about the principles, but ideally significant experience building complex software systems in Scrum and an understanding of its benefits).
  • Partner productively with other peer software engineers in team projects.
What You’ll Need:
  • Multi-language fluency
  • Ability to code fluently in multiple languages, at multiple levels of the stack. At Atomic Machines, we primarily use C, C , Go, and Python. Should have experience with:
  • A high-performance systems language like C, C , or Rust
  • A compiled, garbage-collected language like Go or Java
  • A scripting language like Python or JavaScript
  • Knowledge of Computer Systems
  • Understanding of how computers work. Our work involves a variety of processors and computing environments – Linux, FreeRTOS, and bare metal. Strong fundamentals help build system context and enable broad contribution. Undergraduate-level knowledge of:
  • Operating systems
  • Networks
  • Concurrency & execution models
  • Computer architecture
  • Experience with system design
  • Experience designing, building, and shipping complex distributed software systems that control hardware in sophisticated ways, as part of a team.
  • Experience with running production software
  • Experience with instrumenting software for observability and debugging.
  • Experience with version control, Infrastructure-as-Code, and DevOps workflows.
  • Bonus points for
  • Familiarity with the fundamentals of robotic systems, such as feedback control systems, motion planning, and computer vision.
  • Familiarity with CAD and CAM software, focusing on geometry engines, toolpath generation, and machining strategies
  • Familiarity with embedded systems programming, particularly for ARM architectures and real-time operating systems (RTOS)
  • Bachelor of Science in Computer Science or a related field. Bonus points for an advanced degree.
Our Technology Stack:
  • Here are some of the tools and technologies we use.
  • These are subject to change - but give some sense of what we work on here.
  • Languages:
  •  C / C : For embedded, real-time, and performance-critical systems
  •  Go: For concurrent, networked application software
  •  Python: For robotics, computer vision, AI / ML, and scientific computing
  • Deployment Targets:
  •  Dockerized, general-purpose Linux application services (Cloud or On-Prem)
  •  Application software for embedded Linux systems (AMD Xilinx Kria KR260)
  • Realtime on control on STM32s peripheral boards
  • Realtime control on KR260 Cortex-R5s
  • Proprietary real-time networking on KR260 Cortex-R5s
  • Other tools
  • Ansible: Infrastructure-as-code, configuration management, application deployment
  • Protocol Buffers / gRPC: Interface definition language & serialization format for networked software
  • Grafana, Prometheus, Loki: Observability platform 
  • Xilinx and Lattice FPGAs: Proprietary realtime communication bus
\n
$150,000 - $220,000 a year
The compensation for this position includes equity and benefits.
\n

Job Summary

JOB TYPE

Full Time

SALARY

$136k-163k (estimate)

POST DATE

03/07/2024

EXPIRATION DATE

07/11/2024

WEBSITE

atomicmachines.com

HEADQUARTERS

Berkeley, IL

SIZE

<25

Related Companies
Show more

Atomic Machines
Full Time
$94k-127k (estimate)
1 Week Ago
Atomic Machines
Full Time
$144k-162k (estimate)
1 Month Ago
Atomic Machines
Full Time
$148k-167k (estimate)
1 Month Ago

The job skills required for Software Engineer include Java, Computer Science, API, Scrum, Planning, Networking, etc. Having related job skills and expertise will give you an advantage when applying to be a Software Engineer. That makes you unique and can impact how much salary you can get paid. Below are job openings related to skills required by Software Engineer. Select any job title you are interested in and start to search job requirements.

For the skill of  Java
VTECH Solution
Full Time
$86k-110k (estimate)
2 Months Ago
For the skill of  Computer Science
County of Kern
Full Time
$157k-212k (estimate)
1 Week Ago
For the skill of  API
AMPCUS
Full Time
$78k-92k (estimate)
4 Weeks Ago
Show more

The following is the career advancement route for Software Engineer positions, which can be used as a reference in future career path planning. As a Software Engineer, it can be promoted into senior positions as a Software Engineer IV that are expected to handle more key tasks, people in this role will get a higher salary paid than an ordinary Software Engineer. You can explore the career advancement for a Software Engineer below and select your interested title to get hiring information.

Atomic Machines
Full Time
$144k-162k (estimate)
1 Month Ago
Rigetti Computing
Full Time
$136k-163k (estimate)
2 Months Ago

If you are interested in becoming a Software Engineer, you need to understand the job requirements and the detailed related responsibilities. Of course, a good educational background and an applicable major will also help in job hunting. Below are some tips on how to become a Software Engineer for your reference.

Step 1: Understand the job description and responsibilities of an Accountant.

Quotes from people on Software Engineer job description and responsibilities

Ensuring that different types of software programs communicate with each other on one platform.

01/17/2022: Youngstown, OH

A software engineer’s job role determines the type of work they focus on when building or supporting a product.

02/23/2022: Altoona, PA

They use programming languages to design, develop, test, maintain computer software applications like games, network systems, etc.

01/31/2022: Lancaster, PA

Create scalable, secure and resilient software that deliver to business requirements.

02/28/2022: Hartford, CT

Besides having technical skills to create robust software that can work across different platforms, software engineers also need to be able to collaborate with other professionals and lead a team.

02/17/2022: Lawton, OK

Step 2: Knowing the best tips for becoming an Accountant can help you explore the needs of the position and prepare for the job-related knowledge well ahead of time.

Career tips from people on Software Engineer jobs

software engineers must also determine user requirements that are unrelated to the functions of the software, such as the level of security and performance needs.

03/06/2022: Champaign, IL

Software Engineers should hone their technical skills by working with real computer systems and developing real projects and programs.

03/02/2022: Frankfort, KY

Qualifications to be a software engineer require a deep understanding and knowledge of mathematics, computer science, and data analytics.

02/27/2022: Colorado Springs, CO

Software engineers must be highly motivated and have extensive knowledge of various programming languages.

01/06/2022: Reading, PA

A good software engineer will keep abreast of the technological changes, seeking opportunities to learn more and continuously develop their skillset.

02/11/2022: Salt Lake City, UT

Step 3: View the best colleges and universities for Software Engineer.

Butler University
Carroll College
Cooper Union
High Point University
Princeton University
Providence College